package com.modelo.datos.app;

import java.io.Serializable;

import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.core.app.modelo.Entidad;
import com.core.app.modelo.ICatalogo;

@Entity(name="Permiso")
@Table(name="Permiso")
@Access(AccessType.FIELD)

public class Permiso extends Entidad implements Serializable, ICatalogo {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="idPermiso")
	@Basic(optional=false)
	private Integer idPermiso;
	
	@Column (name="idPermiso", insertable=false, updatable=false)
	@Basic(optional=false)
	private Integer id;
	
	@Column(name="clave")
	@Basic(optional=true)
	private String clave;
	
	@Column(name="descripcion")
	@Basic(optional=true)
	private String descripcion;
	
	public Permiso(){
		
	}
	
	public Integer getIdPermiso() {
		return idPermiso;
	}

	public void setIdPermiso(Integer idPermiso) {
		this.idPermiso = idPermiso;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getClave() {
		return clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public void finalize() throws Throwable {
		super.finalize();
	}

	@Override
	public Integer getIdCatalogo() {
		return getIdPermiso();
	}

	@Override
	public void setIdCatalogo(Integer id) {
		setIdPermiso(id);
	}

	@Override
	public Class getClazz() {
		return this.getClass();
	}

	@Override
	public Entidad getEntidad() {
		return this;
	}
}
